package com.bridgeintelligent.tag.user.mgmt.service;

import java.util.List;

import com.bridgeintelligent.tag.user.mgmt.pojo.TagPermission;

/**
 * 角色服务层接口
 */
public interface RoleMgmtService {

    /**
     * 新增角色
     */
    void addRole(String roleName, String roleDsc, String[] powerIds, List<TagPermission> tagPerms);


    /**
     * 删除角色
     *
     * @param roleId
     */
    void deleteRoleByRoleId(String roleId);


    /**
     * 设置角色和权限的关联关系
     *
     * @param roleId
     * @param powerIds
     */
    void setRoleAndPower(String roleId, String[] powerIds);

    /**
     * @param roleId
     * @param roleName
     * @param roleDsc
     * @param pwoerIds
     */
    void updateRole(String roleId, String roleName, String roleDsc, String[] pwoerIds, List<TagPermission> tagPerms);


    /**
     * 推送角色信息
     * @param roleId 角色ID
     * @param roleName 角色名称
     * @param roleType 操作类型
     * @param remark 角色说明
     * @return
     */
    boolean synchRoleInfo(String roleId,String roleName,String roleType,String remark);

}
